package com.ainiyar.springweb.service;

import com.ainiyar.springweb.common.result.ResultResponse;
import com.ainiyar.springweb.pojo.admin.dto.PageDto;
import com.ainiyar.springweb.pojo.admin.vo.SelectVo;
import com.ainiyar.springweb.pojo.entity.Role;
import com.mybatisflex.core.service.IService;

import java.util.List;

/**************************************
 * File Name : RoleService
 * Created with : IntelliJ IDEA.
 * Author : 艾尼亚尔·毛拉吾提
 * QQ : 524155792  WeChat : ainiyar0124
 * Created Time : 2024/2/5  01:00
 * Desc :
 ***************************************/
public interface RoleService extends IService<Role> {
    /**
     * 角色列表
     *
     * @param page   分页参数
     * @param name   查询条件 角色名称
     * @param status 查询条件 角色状态
     * @return Object
     */
    ResultResponse<Object> lists(PageDto page, String name, Integer status);

    /**
     * 保存新增，修改角色数据
     *
     * @param role 角色数据
     * @return true:成功  false:失败
     */
    boolean saveAddEdit(Role role);

    /**
     * 删除角色
     *
     * @param id 所需删除角色id
     * @return true:成功  false:失败
     */
    boolean del(Long id);

    /**
     * 为下拉框
     *
     * @return List
     */
    List<SelectVo> getRoleForSelect();

    /**
     * 根据管理角色id获取角色信息
     * @param role_id 角色id
     * @return 角色数据
     */
    Role getRoleByAdminRoleId(Long role_id);
}
